#!/usr/bin/env python3
# -*- coding: utf-8 -*-
##############################################
# @Author: DengLibin 榆霖
# @Date: Create in 2022-03-08 15:31:09
# @Description: 爬取图片
##############################################
'module name'
__author__ = 'DengLibin'

import os
import time

import requests
from bs4 import BeautifulSoup


##############################################
# @Author: DengLibin 榆霖
# @Date: Create in 2022-03-08 15:46:41
# @Description: 保存图片到文件
##############################################
def save_img_to_file(img_url):
    if not os.path.exists('img'):
        os.makedirs('img')
    img_name = img_url.split('/')[-1]
    img_resp = get_resp(img_url)
    with open('img/'+img_name, 'wb') as f:
        f.write(img_resp.content)
    img_resp.close()
    print('save img %s ok!' % img_name)


##############################################
# @Author: DengLibin 榆霖
# @Date: Create in 2022-03-08 15:41:49
# @Description: 根据图片详情页提取图片
##############################################
def save_img(img_detail_url):
    detail_page = get_url_content(img_detail_url)
    page = BeautifulSoup(detail_page)
    img_body = page.find('div', attrs={'class': 'ImageBody'})
    img = img_body.find('img')
    img_url = img.get('src')
    save_img_to_file(img_url)

##############################################
# @Author: DengLibin 榆霖
# @Date: Create in 2022-03-08 15:56:43
# @Description: 获取响应
##############################################
def get_resp(url):
     # 设置请求头
    headers_dic = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"
    }
    return requests.get(url, headers=headers_dic)

##############################################
# @Author: DengLibin 榆霖
# @Date: Create in 2022-03-08 14:44:08
# @Description: 获取网页内容
##############################################
def get_url_content(url) -> str:
   
    resp = get_resp(url)
    # 指定字符集
    resp.encoding = 'utf-8'
    page_content = resp.text
    resp.close()
    return page_content

##############################################
# @Author: DengLibin 榆霖
# @Date: Create in 2022-03-08 15:31:29
# @Description: 走起
##############################################
def run():
    url = "https://www.umeitu.com/bizhitupian/huyanbizhi/"    
    content = get_url_content(url)
     # 1.解析数据
    page =BeautifulSoup(content, "html.parser")
    type_list = page.find(name = 'div', attrs={'class': 'TypeList'})
    a_list = type_list.find_all('a')
    for a in a_list:
        img_detail = 'https://www.umeitu.com'+ a.get('href')
        save_img(img_detail)
        time.sleep(1)
    
    
##############################################
# @Author: DengLibin 榆霖
# @Date: Create in 2022-03-08 15:31:42
# @Description: 程序入口
##############################################
if __name__ == '__main__':
    run()
